const jwt = require('jsonwebtoken');
require('dotenv').config(); // 加载 .env 文件
// 中间件：验证 Token
const authenticateToken = (req, res, next) => {
  // 跳过 refresh-token 路由
  if (req.path === '/refresh-token') return next();

  const token = req.headers.authorization?.split(' ')[1]; // 获取 "Bearer <token>"
  if (!token) return res.status(401).json({ error: '未提供 Token' });
  // console.log(token);
  jwt.verify(token, process.env.JWT_ACCESS_SECRET, (err, decoded) => {
    if (err) {
      console.log('无效的 Token');
      return res.status(403).json({ code: 'TOKEN_EXPIRED' }); 
    }
    // console.log("解码后的 Payload:", decoded);
    // 输出：{ id: 1, username: 'admin', role: 'admin', iat: 1690000000, exp: 1690003600 }
    req.user = decoded; // 将解码后的用户信息挂载到 req 对象
    next();
  });
}
module.exports = authenticateToken;